The Clean Coder: A Code of Conduct for Professional Programmers

The Clean Coder: A Code of Conduct for Professional Programmers

  • Downloads:5312
  • Type:Epub+TxT+PDF+Mobi
  • Create Date:2021-09-16 08:54:22
  • Update Date:2025-09-07
  • Status:finish
  • Author:Robert C. Martin
  • ISBN:0137081073
  • Environment:PC/Android/iPhone/iPad/Kindle

Summary

Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software。 They treat it as a craft。 They are professionals。 In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C。 Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship。 This book is packed with practical advice-about everything from estimating and coding to refactoring and testing。 It covers much more than technique: It is about attitude。 Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act。 Readers will learn What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding, and get past writer's block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time, and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say "No"-and how to say it When to say "Yes"-and what yes really means Great software is something to marvel at: powerful, elegant, functional, a pleasure to work with as both a developer and as a user。 Great software isn't written by machines。 It is written by professionals with an unshakable commitment to craftsmanship。 The Clean Coder will help you become one of them-and earn the pride and fulfillment that they alone possess。

Download

Reviews

Sheng

The book gave me many thoughts about how I have been a professional。 A lot to learn, a lot to improve。

Sergi Pasoevi

A great book in that it reminds you that programming can be and should be craft, and that software engineers can and should be professionals like lawyers, doctors, etc。 However, much like The Clean Architecture (his other book), this could have been a blog post or a Youtube video or even just a few sentences:- Be a professional- Think twice before you make commitments- Learn when and how to say yes- Communicate clearlyIf books that can be summarized in a few sentences have the right to exist, th A great book in that it reminds you that programming can be and should be craft, and that software engineers can and should be professionals like lawyers, doctors, etc。 However, much like The Clean Architecture (his other book), this could have been a blog post or a Youtube video or even just a few sentences:- Be a professional- Think twice before you make commitments- Learn when and how to say yes- Communicate clearlyIf books that can be summarized in a few sentences have the right to exist, then yes, this is a fine book。 But if you are short of time or money, think for yourself what it takes to be a professional software engineer。 。。。more

Howard

Massive value and experience is documented in this book。 It point out mistakes I've made in the business, and ways to improve。 It is oriented toward codrs earlier in their careers, but its still has value to old fogies like me! It is so great to see educational content like this in an audiobook format! Great book for anyone interested in coding professionally! Massive value and experience is documented in this book。 It point out mistakes I've made in the business, and ways to improve。 It is oriented toward codrs earlier in their careers, but its still has value to old fogies like me! It is so great to see educational content like this in an audiobook format! Great book for anyone interested in coding professionally! 。。。more

Alice

Working 60 hours per week, seriously?

Chus Naval

Muy entretenido, como todo lo que escribe Bob Martín。 En definitiva se puede resumir como las disciplinas y técnicas para ser un buen profesional en tu trabajo como programador, bastante de acuerdo en muchas cosas。 Eso sí, no tiene mucho de innovador para alguien que lleve años trabajando y sea mínimamente responsable, si es tu caso, y no odias el drm como yo, mejor compralo en kindle donde el precio es mucho más justo。

Behnam Mahdavirad

I read its Persian translation and it helped me a lot in my software carrier。

Nikhila Reddy

This review has been hidden because it contains spoilers。 To view it, click here。 The author gives a lot of useful advice to budding programmers。 But at many places, he ends up sharing a lot of detail of his own personal experience, rather than providing a more general and latest useful knowledge of the field。 Even though, the book is already small, cutting down unnecessary details of the author's experience would cut its size much down and save readers time。。 The author gives a lot of useful advice to budding programmers。 But at many places, he ends up sharing a lot of detail of his own personal experience, rather than providing a more general and latest useful knowledge of the field。 Even though, the book is already small, cutting down unnecessary details of the author's experience would cut its size much down and save readers time。。 。。。more

Davillo Aurélio

Good for beginners in software development

Raihan Taher

This is an amazing book。 Every developer should read this book once in a life time。 Not only developers but I think managers, scrum masters, product owners who are involved in software development should also read this book。 This book will teach a developer how to think as a craftsman。 How to be professional in work。Uncle bob sharing his huge experience and tips is surly going to help every developer。 I am glad that Uncle bob took the time to write this book

Pieterkempenaers

(read in 2021) Rather disappointing read。 The proze was good as always with Martin, but for once it was the best part of the book and proze I'd rather get from reading fiction。The notion that a 60 hours "work" week or coming in at work 2 hours early is (in part) what makes someone a professional is something that I cannot connect with。Found the how to say no and yes chapters the best part of the book, the focus of the other chapters however was (in my opinion) too much on how not to take respons (read in 2021) Rather disappointing read。 The proze was good as always with Martin, but for once it was the best part of the book and proze I'd rather get from reading fiction。The notion that a 60 hours "work" week or coming in at work 2 hours early is (in part) what makes someone a professional is something that I cannot connect with。Found the how to say no and yes chapters the best part of the book, the focus of the other chapters however was (in my opinion) too much on how not to take responsibility in transforming an organisation and more on the if you do this you can say that you're not to blame for the failure of a project。 Whilst I've always felt that transforming an organisation is something that Martin excels at If you've never heard about TDD and have a few hours to spend I could recommend this book, otherwise you'd be better of by broadening the horizon of you're knowledge。 。。。more

David

60 hours a week for the rest of your working life。 Seriously? 60 hours in front of a screen, when all health evidence says we should be spending more of our day away from the screen in more active physical persuits。 And you have to do all this to be a called a 'professional'?60 hours / week screen time when you're in your 20s = fine60 hours / week screen time when you're in your 30s = mostly fine but your health starts to suffer60 hours / week screen time when you're in your 40s = starting to ha 60 hours a week for the rest of your working life。 Seriously? 60 hours in front of a screen, when all health evidence says we should be spending more of our day away from the screen in more active physical persuits。 And you have to do all this to be a called a 'professional'?60 hours / week screen time when you're in your 20s = fine60 hours / week screen time when you're in your 30s = mostly fine but your health starts to suffer60 hours / week screen time when you're in your 40s = starting to have serious health problems60 hours / week screen time when you're in your 50s = heart attack 。。。more

يوسف صامت بوحايك

A truly important read for junior programmers and any employee in general。 Some advices can be a bit idealistic, but nonetheless very important as goals in a professional environment。 The focus on what it really means to be a professional in different aspects (time management, stress management, conflict management, estimation, etc。) can change your point of view to see what you considered as rude employees becoming professional employees, and nice passive employees can mean unprofessional emplo A truly important read for junior programmers and any employee in general。 Some advices can be a bit idealistic, but nonetheless very important as goals in a professional environment。 The focus on what it really means to be a professional in different aspects (time management, stress management, conflict management, estimation, etc。) can change your point of view to see what you considered as rude employees becoming professional employees, and nice passive employees can mean unprofessional employees, it all comes back to what is the goal of each entity in the company。 Some of the old examples are less relevant especially considering the big change in these fields。 However, even with the short experience I had in the professional world, I could often relate to real life and day to day experience。 。。。more

Anıl Tuncel

Very useful

Emilio

I think that most of the topics of the book are relevant to anyone in the Software Engineer career path。 You can extract highly valuable lessons that can help you become a better professional。 This book is one of the best resources about professionalism as a SWE。 If you are thinking about starting a career in SWE or if you already are a developer, you MUST read this book。 You'll undoubtedly learn invaluable lessons that will improve your career and the lives of the people who'll work with you。 I think that most of the topics of the book are relevant to anyone in the Software Engineer career path。 You can extract highly valuable lessons that can help you become a better professional。 This book is one of the best resources about professionalism as a SWE。 If you are thinking about starting a career in SWE or if you already are a developer, you MUST read this book。 You'll undoubtedly learn invaluable lessons that will improve your career and the lives of the people who'll work with you。 。。。more

Vajihe Nikkhah

یکی از بهترین کتابهایی که خوندم。 به همه افراد در هر حوزه کاری توصیه میکنم حداقل سه فصل اول رو بخونند

Amit

This is a must-read for programmers that have been working in the field for a while, experiencing both successes and failures, but never managing to get to the 'next level' of their career path, whether that may be team lead or a tech lead。 Or just don't FEEL like they are truly a 'pro'。I've been a software developer working in a professional capacity for about 15 years now。The insights here are truly valuable, and I've experienced them more as a confirmation of my personal beliefs as a develope This is a must-read for programmers that have been working in the field for a while, experiencing both successes and failures, but never managing to get to the 'next level' of their career path, whether that may be team lead or a tech lead。 Or just don't FEEL like they are truly a 'pro'。I've been a software developer working in a professional capacity for about 15 years now。The insights here are truly valuable, and I've experienced them more as a confirmation of my personal beliefs as a developer。 It's good to know such a prominent character agrees with me on subjects like saying NO, finding compromises, honing one's skills with practice and time off of work, and so on。That's why my review might be a little positively prone, so take my recommendation with a grain of salt。 I would guess that some readers that are on an earlier stage of their career might find the advice in this book annoying, condescending, or even bad。 To these programmers, I say - return to this book in 5 years。 You are not humble and ready to learn yet。 There's no denying that some of the stories and takes here are outdated。 This book was published 10 years ago, and Uncle Bob is mainly versed in working in big 'corporate' companies。 Most of the examples deal with physical printers, punchcard-based code, and reading code from tape, but I can clearly see a path connecting the etiquette of suit and tie of the 'old style' telephone-tech companies to the current agile practices of the valley。 99% of the disciplines presented here are still relevant, and probably will be in the next 10-20 years。 While the first half of the book's chapters are definitely the strongest, and in which Uncle Bob gives his best mantras and disciplines on how to become from an apprentice to a master, the latter part of the book is a mixed bag in its depth。 Some of the later chapters are simply too short - mainly the ones regarding teamwork, collaboration, and stress。 There are many talks by Uncle Bob on youtube, taken from various conferences throughout the years。 They may supplement these subjects and more。 There are some parts missing too。 Nowadays, many developers are working as a one-man unit directly with clients, or on gig-economy sites like Fiverr。 These developers, having to also be a one-man marketing and product unit, work differently, and still need guidance on how to become a pro (or a 5-star-ranked pro, in those ecosystems)。The last part (labeled Appendix A for some reason?) deals with tools Uncle Bob thinks are crucial for software development, and he's right。 But the PHILOSOPHY of tools is missing from that part! I LOVE tools。 I think a true craftsman hones their toolbox and options throughout their career, customizing and constantly improving the speed and quality of their work。 From their keyboard to their IDE。 Some words of wisdom in the book would help me as a reference when I talk about that to my colleague :)Still, a good recommendation, along with Clean Code。 Guess I'll continue to Clean Agile and Clean Architecture, next。 。。。more

Joshua R。 Taylor

The Clean Coder has totally made it clear to me why Robert Martin is so often referred to as 'Uncle Bob'。 The entire tone of his writing is like worldly wisdom passed from an older but not too old man who cares but doesn't care too much about you。 A wise uncle talking to his nephew, the nephew being the innocent young brogrammer who was prolific at the book's release in 2011。Of course much has changed since then。 The popular stereotype of a programmer is slowly moving away from being always a 'n The Clean Coder has totally made it clear to me why Robert Martin is so often referred to as 'Uncle Bob'。 The entire tone of his writing is like worldly wisdom passed from an older but not too old man who cares but doesn't care too much about you。 A wise uncle talking to his nephew, the nephew being the innocent young brogrammer who was prolific at the book's release in 2011。Of course much has changed since then。 The popular stereotype of a programmer is slowly moving away from being always a 'nephew' allowing for a potential 'niece' or simply nibling。 Even the title 'programmer' is becoming less and less recognised as developers (rightfully) feel stronger expectations to not just programme but also have soft-skills and be collaborative。 So where does that leave this book, alongside Uncle Bob's bro-oriented style?Well, great thing I recently read Hermeneutics: A Very Short Introduction, a book all about how critical interpretation and history are while developing our understanding。 According to its ideas, we cannot help but interpret any text like The Clean Coder without our history deciding to bend its meaning to fit a mould。 For any person still playing the brogrammer stereotype, I'm sure Uncle Bob's style would seem approachable, safe and yet also brimming with competence。 I would speculate that the further away a person is from that stereotype, the more they might lose that sense of approachability and instead feel alienation or just nothing, since nobody ever talked to them the way Uncle Bob does to the reader。Three attributes about me: I am not an especially masculine person, I do not feel any motivation to change this, I did not have strong male role models to learn from。 It is likely that a combination of these means that I just don't feel Uncle Bob's style。 While reading him, most of the time I just wish he would get to the point like in The Pragmatic Programmer and leave the bro-tales for a biography。That being said, you may have noticed that this review does have three stars and these have all come from a few very good insights Uncle Bob conveys。 Here are a couple that made me stop and think:* There are patterns in language that we interpret at committed and not committed, reminiscent of Nonviolent Communication: A Language of Life。 I was really interested in this since I realised it is one of the main ways I class someone as a 'professional' and it explained why watching politicians on the news makes me angry。* A mental model for estimation: think of the time required to complete a task as a distribution of values instead of a single value。 More specifically, think of a normal distribution。 The mean of the distribution is the nominal time taken to complete the task, the time we usually give as an estimate value。 However the task, once attempted, will only take this long or less around 50% of the time! To increate that 50% to 80% or even 95% is crucial for keeping good on our commitments。 So we have to move our estimate a few standard deviations above the mean while estimating。 This is subtly different from saying 'just double each estimate' since it will have less of a tendency to produce over-estimation and will not enable others to do lazy estimation。 。。。more

Mahmoud Eskandari

شاید هم ۳ ستارهتوصیه میکنم کاملا جدی نگیرید :)

Rafael Bezerra

Eu desisti no começo do quarto capítulo。 Eu entendo que é fruto do seu tempo, mas é difícil ler que o desenvolvedor é total responsável pelas seu desempenho e que ele deve despender 20h semanais para estudar。O livro é muito pragmático em rotular isso como um Profissional。 Os diálogos sobre sim e não, são utópicos, alguns se quer fazem sentido。O começo do quarto capítulo ele tenta sugerir que o "profissional" não leve problemas para o trabalho, outra utopia, hoje é muito claro que as relações de Eu desisti no começo do quarto capítulo。 Eu entendo que é fruto do seu tempo, mas é difícil ler que o desenvolvedor é total responsável pelas seu desempenho e que ele deve despender 20h semanais para estudar。O livro é muito pragmático em rotular isso como um Profissional。 Os diálogos sobre sim e não, são utópicos, alguns se quer fazem sentido。O começo do quarto capítulo ele tenta sugerir que o "profissional" não leve problemas para o trabalho, outra utopia, hoje é muito claro que as relações de trabalho também são sociais, como não ter um péssimo dia de trabalho se meu filho ainda está doente。 。。。more

Ilya

Хорошая книга, заставила задуматься о некоторых вещах, но в начале показалась немного скучноватой。

Bogdan

Nice and interesting book!

kurp

Autor to kultowa postać, jeśli chodzi o zasady rzemiosła programistycznego, ale ta książka nie jest niczym więcej niż zbiorem wspominków i anegdot wymieszanych z bardzo ogólnymi radami dotyczącymi zarządzania czasem, szacowania czasu wykonania zadań i podejmowania zobowiązań。 Bardzo niewiele tu mowy o samym kodzie。

Andres

It's pretty good, even if a bit smug and repetitive。 So it's unfortunate that what I will remember most from this book is a totally random gratuitous spoiler for "Soylent Green"。。。 It's pretty good, even if a bit smug and repetitive。 So it's unfortunate that what I will remember most from this book is a totally random gratuitous spoiler for "Soylent Green"。。。 。。。more

Aleksandr Motsjonov

I truly think it was one of the most inspirational professional books I've read so far。 I truly think it was one of the most inspirational professional books I've read so far。 。。。more

Maziyar

خواندن این کتاب برای افرادی که قصد دارند مدیر یا سرپرست تیم توسعه نرم افزار شوند بسیار مناسب است。 بخش هایی از کتاب در رابطه با تکنولوژی یا تکنیک های برنامه نویسی از قدیم تا زمان نوشته شدن کتاب است که کمک زیادی به دانش برنامه نویسی نمی کند، اما بخش هایی که مرتبط با تجربه مدیریتی نویسنده است بسیار مفید و ارزنده است。ترجمه این کتاب به دلیل فارسی کردن برخی از واژگان تخصصی چندان خوب نیست و گاهی خواندن و فهم مطالب کتاب را سخت می‌کند。

Felipe Salgado Zarama

Creo que todos los desarrolladores de software deberían leer esto, creo que la industria mejoraría muchísimo, especialmente la colombiana si al menos cada líder o algún miembro de cada equipo conociera algo de lo que se menciona acá。

Victor Hugo

Recomendo para todos aqueles que já trabalham a pelo menos 2 anos com software。 A leitura é leve e simples, mas a experiência do leitor se faz fundamental para melhor absorção deste livro。

Jolan

A big recommendation for anyone entering the software engineering world。It puts a big emphasis on taking the time to improve yourself as an engineer and that is actually what makes the difference between a good engineer and a great one。

Luda

There were a bit too much details on the personal projects Uncle Bob worked on, but other then this, it’s an amazing manual on how I should structure my career as a developer。 Good to know where I am at, and where I should be heading。 I am convinced now to stay on the technical track and not strive to management at all cost。 One other thing- he wrote on the importance of mentoring。 Unfortunately good senior developers are scarce, and good mentors are ever scarcer。 So as he wrote about learning: There were a bit too much details on the personal projects Uncle Bob worked on, but other then this, it’s an amazing manual on how I should structure my career as a developer。 Good to know where I am at, and where I should be heading。 I am convinced now to stay on the technical track and not strive to management at all cost。 One other thing- he wrote on the importance of mentoring。 Unfortunately good senior developers are scarce, and good mentors are ever scarcer。 So as he wrote about learning: investing your own time in learning and don’t count on your employee do buy you books or allocate time。 The same with mentoring: don’t count on your workplace。 Look for ways to get better by yourself。 Great book!Thanks Uncle Bob。 。。。more

Lara

Such a great book!